/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package grasp1;

/**
 *
 * @author Rodrigo
 */
public class Galleta {
    //galleta precio factordemanda numerogalletasdemandadas

    private int idgalleta;
    private TipoGalleta tipogalleta;
    private int numGalletasPedidas;
    private int demandacubierta;
    private int[] demanda_maq_cubierta;
   // private double factorDemanda;
    
   // private int [] maquinasProceso;
    
    /**
     * @return the idgalleta
     */
    public Galleta(){
        
    }
    public Galleta(int id, TipoGalleta tipo, int num){
        idgalleta = id;
        tipogalleta = tipo;
        numGalletasPedidas= num;
         this.demanda_maq_cubierta = new int[tipogalleta.getMaquinasProceso().size()];
    }
     /**
     * @return the demanda_maq_cubierta
     */
    public int[] getDemanda_maq_cubierta() {
        return demanda_maq_cubierta;
    }

    /**
     * @param demanda_maq_cubierta the demanda_maq_cubierta to set
     */
    public void setDemanda_maq_cubierta(int[] demanda_maq_cubierta2) {
        this.demanda_maq_cubierta = demanda_maq_cubierta2;
    }
    
    public int getIdgalleta() {
        return idgalleta;
    }

    /**
     * @param idgalleta the idgalleta to set
     */
    public void setIdgalleta(int idgalletaa) {
        this.idgalleta = idgalletaa;
    }

   

    public double calcularUtilidad(){
    double utilidad;
        utilidad = getNumGalletasPedidas()*(tipogalleta.getPrecio()-tipogalleta.getCosto());
    return utilidad;
}
  

    /**
     * @return the numGalletasPedidas
     */
    public int getNumGalletasPedidas() {
        return numGalletasPedidas;
    }

    /**
     * @param numGalletasPedidas the numGalletasPedidas to set
     */
    public void setNumGalletasPedidas(int numGalletasPedidaas) {
        this.numGalletasPedidas = numGalletasPedidaas;
    }
    
   

  


    /**
     * @return the tipogalleta
     */
    public TipoGalleta getTipogalleta() {
        return tipogalleta;
    }

    /**
     * @param tipogalleta the tipogalleta to set
     */
    public void setTipogalleta(TipoGalleta tipogalletaa) {
        this.tipogalleta = tipogalletaa;
    }

    /**
     * @return the demandacubierta
     */
    public int getDemandacubierta() {
        return demandacubierta;
    }

    /**
     * @param demandacubierta the demandacubierta to set
     */
    public void setDemandacubierta(int demandacubierta2) {
        
        this.demandacubierta = demandacubierta2;
    }
    
    public void calcularDemandacubierta(int[] arr){
    int menor = cubiertoMenor(arr);
    if (menor >= this.numGalletasPedidas){
     this.demandacubierta = numGalletasPedidas;
    }else this.demandacubierta = menor;
}
    public int cubiertoMenor(int []arr){
        
        int menor=9999999;
        
        for (int i=0; i<arr.length;i++){
            if (arr[i]<menor)
                menor=arr[i];          
        }
        
        return menor;      
    }
}
